package com.liangzhong.model.club.vo
{
	import com.common.utils.Debug;
	import com.liangzhong.constants.ClubConst;
	import com.liangzhong.events.AppEventDispatcher;
	import com.liangzhong.events.NotifierEvent;
	import com.liangzhong.model.AppData;
	
	import flash.utils.getTimer;

	/**
	 *俱乐部信息 
	 * @author Administrator
	 * 
	 */
	public class ClubInformation
	{
		public var header:String;
		/**
		 *俱乐部ID 
		 */
		public var clubid:int;
		/**
		 *等级 
		 */		
		public var level	:int;
		/**
		 *俱乐部名字 
		 */
		public var uname :String;
		
		/**
		 *俱乐部经验 
		 */
		public var  exp :int;
		/**
		 *下级经验值 
		 */
		public var nextexp :int;
		/**
		 *俱乐部荣誉 
		 */
		public var fame :int;
		
		/**
		 *主场队服 
		 */
		public var homekot :int;
		/**
		 *客场队服 
		 */
		public var awaykit :int;
		/**
		 *俱乐部士气 
		 */
		public var morale :int;
		/**
		 *薪资状态 0 够发， 1不够发（减少50%全队属性） 
		 */
		public var  salary :int;
		/**
		 *俱乐部所属国家id 
		 */
		public var country :int;
		/**
		 *国家 
		 */
		public var countryToStr:String;
		
		/**
		 * 洲
		 * 1为亚洲
		 * 2为非洲
		 * 3为美洲
		 * 4为欧洲
		 */
		public var continent:int;
		/**
		 *俱乐部天赋点 
		 */
		public var talent :int;
		/**
		 *俱乐部初始球员数 
		 */
		public var players :int;
		/**
		 *俱乐部综合能力 
		 */
		public var ability :int;
		/**
		 *俱乐部所属联盟id 
		 */
		public var unionid :int;
		/**
		 *VIP等级 
		 */
		public var VIP  :int;
		/**
		 *VIP开始时间 
		 */
		public var viptime :int;
		/**
		 *VIP持续时间 
		 */		
		public var vipcontime :int;
		/**
		 *vip充值金额 
		 */
		public var cashpoint_vip:int;
		/**
		 *vip每日奖励 
		 * 每日奖励：0.未领取，1.已领取
		 */
		public var vip_reward_every:int;
		
		
		/**
		 *俱乐部欧元 
		 */
		public var  coin :uint;
		/**
		 *俱乐部点券 
		 */
		public var cashpoint :uint;
		/**
		 * 服务器时间
		 */
		public var time:int;
		
		/**
		 * 球员头像地址
		 */
		public var playheader:int;
		/**
		 *大头像地址 
		 */
		public var bigheader:int;
		/**
		 * 队徽ID 
		 */
		private var _logo :int;
		/**
		 *队徽地址 
		 */
		public var logoUrl:String;
		
		/**
		 *首充 0未领取，1已领取
		 */
		public var firstpay:int;
		/**
		 *球场id 
		 */		
		public var stadiumId :int;
		/**
		 *七步行星1为未领取完成，2为领取完成 
		 */
		public var seven:int;
		
		/**
		 *国家变更状态：0，	未变更
		 * 1，	第一次变更
		 */
		public var countrymodify:int;
		/**
		 *0.非活动期间，1.活动期间 
		 */
		public var active:int;
		
		
		/**
		 *好友挑战次数 
		 */
		public var friendCount:int;
		
		/**
		 *玩家标识：
		 * 0.	普通玩家
		 * 1.	GM
		 * 2.	测试玩家
		 */
		public var playertype:int = 1;
		/**
		 * 收入
		 */		
		public var income	  :int;
		/**
		 * 支出
		 */		
		public var payout	  :int;
		
		public function ClubInformation()
		{
			stadiumId = int(Math.random() * 13);
		}
		/**
		 *解析俱乐部信息 
		 * 
		 */
		public function analysis($data:Object):void
		{
			for(var str:String in $data)
			{
				if(this.hasOwnProperty(str))
					this[str] = $data[str];
				else
					Debug.echo("ClubInformation中没有" + str + "属性");
			}
			countryToStr =ClubConst.countryToString(country);
			if(country == ClubConst.COUNTRY_CHAIN)
			{
				continent = ClubConst.ASIA;
			}else
			{
				continent = ClubConst.EUROPE;
			}
			AppData.getInstance().setClientDate(time);
		}
		/**
		 * 相关经济改变 
		 * @param $coin
		 * @param $s
		 * @param $cashpoint
		 * 
		 */
		public function changeEconomy($coin:int,$s:int,$cashpoint:int):void
		{
			coin = $coin;
			fame = $s;
			cashpoint = $cashpoint;
		}
		/**
		 *更换国家 
		 * @param $value
		 * 
		 */
		public function changeNation($value:int):void
		{
			country = $value;
			countryToStr =ClubConst.countryToString(country);
		}
		/**
		 *队徽 
		 */
		public function get logo():int
		{
			return _logo;
		}

		/**
		 * @private
		 */
		public function set logo(value:int):void
		{
			_logo = value;
			AppEventDispatcher.getInstance().dispatchEvt(NotifierEvent.TEAMICON_CHANGE);
			var teamVo:TeamIconVo = AppData.getInstance().clubDatamanager.getTeamIconVo(value);
			if(teamVo == null)return;
			logoUrl = teamVo.iconurl;
		}
		/**
		 * 设置等级经验
		 * {level :5,exp:10,nextexp:50}
		 */		
		public function setLevelExp(value :Object):void
		{
			var lastLv :int = level;
			level = value.level;
			exp = value.exp;
			nextexp = value.nextexp;
			AppEventDispatcher.getInstance().dispatchEvt(NotifierEvent.BASE_INFO_CHANGE);
			if(level > lastLv)//升级
			{
				AppEventDispatcher.getInstance().dispatchEvt(NotifierEvent.CLUB_LV_CHANGE);
			}
		}
		/**
		 *获取服务器时间 
		 * 获取时间（S） 服务返回的时间加上客户端(avm2)经过的时间 
		 * @return 
		 * 
		 */
		public function get serverTime():int
		{
			return time + int(getTimer() / 1000);
		}
		
	}
}